<template>
  <h1>我是App组件</h1>
  <h2>一个人的信息</h2>
  <h3>姓名：{{name}}</h3>
  <h3>年龄：{{age}}</h3>
  <h3>性别：{{sex}}</h3>
  <h3>a的值是：{{a}}</h3>
  <button @click="sayHello">说话（Vue3所配置的——sayHello）</button>
  <br/>
  <button @click="sayWelcome">说话（Vue2所配置的——sayWelcome）</button>
  <br/><br/>
  <button @click="test1">测试一下在Vue2的配置中去读取Vue3中的数据、方法</button>
  <br/>
  <button @click="test2">测试一下在Vue3的setup配置中去读取Vue2中的数据、方法</button>
</template>

<script>
import {h} from 'vue' // 渲染函数
export default {
  name: 'App',
  data() {
    return {
      sex: '男',
      a: 100
    }
  },
  methods: {
    sayWelcome() {
      alert('欢迎学习Vue')
    },
    test1() {
      console.log(this.sex)
      console.log(this.name)
      console.log(this.age)
      console.log(this.sayHello)
      // this.sayHello()
    }
  },
  // 此处只是测试一下setup，暂时不考虑响应式的问题。
  setup() {
    // 数据
    let name = '张三'
    let age = 18
    const a = 200
    // 方法
    function sayHello() {
      alert(`我叫${name}，我${age}岁了，你好啊！`)
    }
    function test2() {
      console.log(name)
      console.log(age)
      console.log(sayHello)
      console.log(this.sex)
      console.log(this.sayWelcome)
    }
    // 返回一个对象（常用）
    return {
      name, age, sayHello, test2, a
    }

    // 返回一个函数（渲染函数）
    // return () => h('h1', '你好')
  }
}
</script>